<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

/**
 * Start
 * La configuracion incial del evento se hace directamente en la BD
 * en este orden
 * 
 * 1.- configura_evento
 * 2.- campos
 * 3.- crear los tipos y formularios
 * 3.- checkbox01 y selector01
 * 4.- conferencias
 * 5.- mensajes
 * 6.- Aviso de privacidad
 * 
 * 
 * 
 * Hacer que los metodo de pago sea un modelo aun que sea una tabla en array local.
 * 
 * Desunificar los paso2a y 3 crearle a regsitro ya admin su
 * propia vista y depues internamente compartan vista unciamente de los campos.
 * 
 * Revisar el proseso de pago con terceros
 * 
 * hacer uana tabla de horarios unica par las conferencias
 * 
 */
class Administracion extends MY_Controller {
    
    function __construct() {
        parent::__construct();
        // Force encrypted connection
        $this->police->force_ssl();

        $this->load->library('form_validation');

        //la variable evento se carga con todo la configuracion
        $this->evento = $data['evento'] = $this->Registro_model->config_conference();       
        
        $this->load->vars($data);
        
        // Control police start permission and authentication
        $documents = $this->police->police_control();
        $permisos['user_role'] = $documents->user_role;
        $permisos['permissions'] = $documents->permissions;
        $permisos['documents'] = $documents;
        $this->load->vars($permisos);
    }
    
    /**
     * Regsitros del paginador
     */
    
    private $porPagina = 20;
    
    //--------------------------------------------------------------------------

    /**
     * Zona Privada
     * 
     */
    function index() {
        $this->participantes();
    }
    //--------------------------------------------------------------------------

    /**
     * Zona Privada
     * 
     */
    function participantes() {
        // Para que form_validator pueda validar el Get
        $_POST = $_GET;
        
        $this->form_validation->set_rules('buscar', 'Buscar', '');
        $this->form_validation->set_rules('id_esta', 'Estatus', '');
        $this->form_validation->set_rules('id_tipo', 'Tipo', '');
        $this->form_validation->set_rules('id_anfi', 'Anfitrion', '');        
        
        $this->form_validation->run();
        
        $buscar = $this->input->post('buscar');
        $id_anfitrion = $this->input->post('id_anfi');
        $id_tipo = $this->input->post('id_tipo');
        $id_estatus = $this->input->post('id_esta');
        
        $arr = array(
            'buscar' => $buscar,
            'anfitrion' => $id_anfitrion,
            'tipo' => $id_tipo,
            'estatus' => $id_estatus,
            'contar' => TRUE,
            );
        
        $filas = $this->Registro_model->participantes_lista($arr); 
        $porPagina = $this->porPagina; //rows per page
        $paginas = ceil($filas/$porPagina); 
        
        $data['estatus'] = $this->Registro_model->estatus();
        $data['tipo_participantes'] = $this->Registro_model->tipo_participantes();
        $data['jscript'] = array (
            'js/vendor/modernizr-2.6.2-respond-1.1.0.min.js',
            'js/vendor/jquery-ui-1.9.2.min.js',
            'js/vendor/jquery.ui.touch-punch.min.js',
            'js/vendor/jquery.pagination.js',
            'js/participantes.js'
        );
        $data['links'] = array ('css/paginator.css');
        $data['part'] = 'active';
        $data['paginas'] = $paginas;
        $data['main_content'] = 'administracion/participantes/participantes';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------

    /**
     * LLEnado de la tabla para participantes o index
     */
    function participantes_tabla(){
      if($this->input->is_ajax_request()){
          
          $pagina = $this->input->post('pagina');
          $porPagina = $this->porPagina; //rows per page
          $inicio = ($pagina*$porPagina)-$porPagina;

          $buscar = $this->input->post('buscar');
          $id_anfitrion = $this->input->post('id_anfi');
          $id_tipo = $this->input->post('id_tipo');
          $id_estatus = $this->input->post('id_esta');
          
          $arr = array(
            'buscar' => $buscar,
            'anfitrion' => $id_anfitrion,
            'tipo' => $id_tipo,
            'estatus' => $id_estatus,
            'inicio' => $inicio,
            'lote' => $porPagina,
            'completo' => TRUE,  
            );
          
          $data['contar'] = $inicio;
          $data['tabla'] = $this->Registro_model->participantes_lista($arr);  
          $data['ventana'] = $this->resgitro_library->ventana_gafete();
          $this->load->view('administracion/participantes/participantes_tabla', $data);
      } else {
          redirect('registro');
      }
    }
    //--------------------------------------------------------------------------  

    /**
     * Edicion de la configuracion general del sistema 
     */
    function participante_sistema($id){
        /*
         * Cambiar el precio // v2.0
         * Cambiar tipo de usuario // v2.0
         * enviar correos si
         * cambiar estatus si
         * enviar coorreo personalisado 
         */
        $data['id'] = $id;
        $arr = array(
            'id'=>$id,
            'datos_factura'=>TRUE,
            'datos_cupon'=>TRUE
        );
        $participante = $this->Registro_model->participantes_lista($arr)->row();  
        $this->form_validation->set_rules('id_esta', 'Estatus', 'required');
        
        if ($this->form_validation->run() == FALSE) {
            $arr_json = array ("id"=>$id);

            $cupon = FALSE;
            //dattos del cupon
            if($participante->cupon_usado){
                $cupon = TRUE;
            }
            
            $cobro = FALSE;
            //datos de fatura
            if($participante->precio_pagado != 0 && $this->evento->cobro === TRUE){
                $cobro = TRUE;
                $selec_estados = $this->Registro_model->leer_mexico_estados()->result();
                $data['mexico_estados'] = $this->resgitro_library->regsitros_a_array($selec_estados, 'id_estado', 'nombre_estado');
            }
            
            $data['cupon'] = $cupon; 
            $data['cobro'] = $cobro; 
            $data['js_datos'] = json_encode($arr_json); 
            $data['estatus'] = $this->Registro_model->estatus();
            $data['participante'] = $participante;
            $data['main_content'] = 'administracion/participantes/participante_sistema';
            
            $data['jscript'] = array ('js/participante_sistema.js');
            $this->load->view(config_item('template') . 'main', $data);
        } else {
            $id_esta = $this->input->post('id_esta');
            $var = $this->Registro_model->editar_participante_estatus($id, $id_esta);  
            if($var){
                redirect('administracion/participantes');
            } else {
                echo 'Fatal Error';
            }
            
        }          
    }
    //--------------------------------------------------------------------------  
    
    /**
     * Envia el correo al participante al aver pagado
     */
    function participante_correo_pagado(){
        if($this->input->is_ajax_request()){
            $id = $this->input->post('id');
            //info participante
            $arr = array(
                'id' => $id,
                'correo' => TRUE
            );
            $datos = $this->Registro_model->participantes_lista($arr); 
            $correo = $datos->row()->correo;
            $nombre_completo = $datos->row()->nombre.' '.$datos->row()->apellido_pat.' '.$datos->row()->apellido_mat;
            $codigo_refe = $datos->row()->codigo_barras;
            $precio_cero = true;

            //info mensaje de exito
            $this->lang->load('registro/correo');
            $mensaje_correo = lang('correo.confirmacion');

            //info conferencias
            $datos_conferencia = $this->Registro_model->leer_participantes_conf(array('id_part' => $id));
            $confe_selec = array();
            foreach ($datos_conferencia->result() as $row){
                $confe_selec[] = $row->id_conferencia;
            } 
        
            $datos_generales = array(
                'nombre_completo' => $nombre_completo,
                'mensaje' => $mensaje_correo,
                'precio_cero' => $precio_cero,
                'confe_selec' => $confe_selec,
            );
            
            $respuesta = $this->resgitro_library->enviar_registro($correo, $codigo_refe, $datos_generales);
            
            $data['mensaje'] = 'Problemas el enviar el correo reintente más tarde';
            if($respuesta === true){
                $data['mensaje'] = 'Correo enviado correctamente';
            }
            echo json_encode($data);
            
        } else {
          redirect('registro');
        }
    }
    //--------------------------------------------------------------------------  
    /**
     * Envia el correo al participante al aver pagado
     */
    function participante_correo_contactar(){
        if($this->input->is_ajax_request()){
            $data = array();
            $id = $this->input->post('id');
            $mensaje = $this->input->post('mensaje');
            
            //info participante
            $datos = $this->Registro_model->info_participantes($id); 
            $correo = $datos->row()->correo;
            $nombre_completo = $datos->row()->nombre.' '.$datos->row()->apellido_pa.' '.$datos->row()->apellido_ma;

            // Seguridad minima
            $mensaje = nl2br(strip_tags($mensaje));
            
            $respuesta = $this->resgitro_library->enviar_contactar($correo, $nombre_completo, $mensaje);

            $data['mensaje'] = 'Problemas el enviar el correo reintente más tarde';
            if($respuesta === true){
                $data['mensaje'] = 'Correo enviado correctamente';
            }
            echo json_encode($data);
            
        } else {
          redirect('registro');
        }
    }
    //--------------------------------------------------------------------------  
    
    /**
     * Contenido de ediitar
     */
    function participante_datos($id){
        $this->lang->load('registro/campos');
        $this->load->library('Fabrica');
        $arr = array(
            'id'=>$id,
            'completo'=> TRUE,
            );
        $datos = $this->Registro_model->participantes_lista($arr);  
        $participante = $datos->row();
        
        //Reglas de validacion de los campos
        $campos = $this->Registro_model->campos_form(array ("id_tipo_par"=> $participante->id_tipo));
        $this->fabrica->configura_reglas($campos);

        if ($this->form_validation->run() == FALSE) {
            //Campos HTML
            $html = '';
            $val_default = $datos->row_array();
            foreach ($campos as $campo) {
                $html .= $this->fabrica->creador($campo,$val_default[$campo->nombre]);
            }

            //Se entra en modo edicion
            $data['jscript'] = array (
                'js/vendor/intlTelInput.min.js',
                'js/vendor/intlTelInput-utils.js',
                'js/registro/paso2.js',
            );
            $data['links'] = array ('css/intlTelInput.css');
            $data['participante'] = $participante;
            $data['html'] = $html;
            
            $data['main_content'] = 'administracion/participantes/participante_datos';
            $this->load->view(config_item('template') . 'main', $data);
        } else {
            $var = $this->Registro_model->editar_participante_general($id);  
            if($var){
                redirect('administracion/participantes');
            } else {
                echo 'Fatal Error';
            }
            
        }          

    }
    //--------------------------------------------------------------------------  
   
     /**
     * Zona Publica
     * seleccionar conferencias
     */
    function participante_conferencias($id) {
        $conferencias_query = $this->Registro_model->conferencias();
        $conferencias_arry = $conferencias_query->result_array();
        $salones = $this->resgitro_library->unicos($conferencias_arry, 'nombre_salon');
        $horarios = $this->resgitro_library->unicos($conferencias_arry, 'hora_inicio');

         foreach ($horarios as $key_horarios => $value_horarios) {
            $this->form_validation->set_rules('id'.$key_horarios, 'Conferencia', 'trim');
         }
        
        if ($this->form_validation->run() == FALSE) {
            $this->lang->load('registro/paso2a');
            $participante = $this->Registro_model->info_participantes($id);  
            $conferencias_query = $this->Registro_model->conferencias();
            $salones = $this->resgitro_library->unicos($conferencias_arry, 'nombre_salon');
                
            $datos = $this->Registro_model->leer_participantes_conf(array('id_part' => $id));
            $data['texto_boton'] = 'editar';

            $id_s = array();
            foreach ($datos->result() as $row)
            {
                $id_s[] = $row->id_conferencia;
            }            
            
            $data['salones'] = $salones;
            $data['valores'] = $id_s;
            $data['participante'] = $participante->row();
            $data['horarios'] = $horarios;
            $data['todo'] = $conferencias_query->result_array();
            $data['ocupados'] =  $this->Registro_model->conferencias_inscritos();
            ///desunificar estas vistas en un futuro
            $data['main_content'] = 'registro/paso2a';
            $this->load->view(config_item('template') . 'main', $data);
        }else{
            $var = $this->Registro_model->editar_participante_confere($id);  
            if($var){
                redirect('administracion/participantes');
            } else {
                echo 'Fatal Error';
            }
        }
    }
    //--------------------------------------------------------------------------
    
    /**
     * Zona Publica
     * seleccionar la forma de pago y Datos de Facturacion
     */
    function participante_pago($id) {
        $check_factura = FALSE;
        
        $this->form_validation->set_rules('pago', 'Tipo', 'required');
        $this->form_validation->set_rules('factura', 'Factura', 'required');
        //Si es Con factura
        if ($this->input->post('factura') === '1') {
            $check_factura = TRUE;
            $this->form_validation->set_rules('razon_social', 'Razon social', 'required');
            $this->form_validation->set_rules('direccion', 'Dirección');
            $this->form_validation->set_rules('colonia', 'Colonia');
            $this->form_validation->set_rules('ciudad', 'Ciudad');
            $this->form_validation->set_rules('id_estado', 'Estado');
            $this->form_validation->set_rules('codigo_postal', 'C. Postal');
            $this->form_validation->set_rules('rfc', 'Rfc', 'required|external_callbacks[library,resgitro_library,valida_rfc,'.$this->input->post('rfc').']');
        }

        if ($this->form_validation->run() == FALSE) {
            $this->lang->load('registro/paso3');
            $pago_query = $this->Registro_model->info_participantes_pago($id);
            
            $data['texto_boton'] = 'editar';
            if($pago_query->row()->factura === '1'){
                $check_factura = TRUE;
            }
            
            //Traer los datos del la info general v2.0
            $a = 'Empresa';
            $b = 'Direccion';
            $c = 'Colonia';
            $d = 'Ciudad';
            $e = '19';
            $f = 'Codigo_postal';
            $g = $check_factura;
            
            $arr = array ("a"=>$a,"b"=>$b,"c"=>$c,"d"=>$d,"e"=>$e,"f"=>$f,"g"=>$g);
            
            $data['js_datos'] = json_encode($arr);         
            $data['valores'] = $pago_query->row_array();
            $data['selec_estados'] = $this->Registro_model->leer_mexico_estados();
        
            $data['jscript'] = array('js/registro/paso3.js');
            ///desunificar estas vistas
            $data['main_content'] = 'registro/paso3';
            $this->load->view(config_item('template') . 'main', $data);

        } else {
            $var = $this->Registro_model->editar_participante_pago($id);  
            if($var){
                redirect('administracion/participantes');
            } else {
                echo 'Fatal Error';
            }
        }
    }
    
    //--------------------------------------------------------------------------
  
    /**
     * Marcasion de de la asitencia
     * 
     */
    function asistencia() {
        $a = $this->resgitro_library->ventana_gafete();
        $data['js_datos'] = json_encode(array ('a'=>$a));
        $data['asis'] = 'active';
        $data['jscript'] = array ('js/asistencia.js');
        $data['main_content'] = 'administracion/asistencia';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------  

    /**
     * LLEnado de la tabla para participantes o index
     */
    function asistencia_tabla(){
      if($this->input->is_ajax_request()){
          /**
           * Esperar la validacion de pagado para imprimir gafete
           * Cuando el sisitem aasepte pagos
           * 
           */

          $buscar = $this->input->post('buscar');
          
          $data['contar'] = 0;
          $arr = array(
            'buscar' => $buscar,
            'codigo_barras' => $buscar,
            'completo' => TRUE,
            );
          
          $data['tabla'] = $this->Registro_model->participantes_lista($arr);  
          $this->load->view('administracion/ajax/asistencia_tabla', $data);
      } else {
          redirect('registro');
      }
    }
    
    //--------------------------------------------------------------------------  

    /**
     * marca en la base de datso la asistencia
     */
    function asistencia_marcar(){
        if($this->input->is_ajax_request()){
            $id = $this->input->post('id');
            $result = $this->Registro_model->asistencia($id);  
            if ($result) {
                echo '1';
            }else{
                echo '0';
            }
        } else {
          redirect('registro');
        }
    }
    
    //--------------------------------------------------------------------------  

    /**
     * LLEnado de la tabla para participantes o index
     */
    function cupones_enc_tabla(){
        if($this->input->is_ajax_request()){
//            $pagina = $this->input->post('pagina');
//            $porPagina = $this->input->post('porPagina');
//            $inicio = ($pagina*$porPagina)-$porPagina;
            $contar = 0;
            $arr = array('buscar' => $this->input->post('buscar'));
            $tabla = $this->Registro_model->leer_cupones_encabezado($arr); 

            if($tabla->num_rows() > 0) {
                foreach ($tabla->result() as $row) {
                    $contar += 1;
                    $data['id'] = $row->id_cupones_enc;
                    $data['nombre'] = $row->nombre_cupones_enc;
                    $data['tipo'] = $row->nombre_tipo;
                    $data['tipo_id'] = $row->id_tipo;
                    $data['contar'] = $contar;
                    $this->load->view('administracion/cupones/cupones_enc_fila',$data);
                    }
            }
        } else {
          redirect('registro');
      }
    }
    //--------------------------------------------------------------------------      

    /**
     * LLEnado de la tabla para participantes o index
     */
    function cupones_enc() {
        $data = array();
        $metodo = $this->resgitro_library->detect_method();
        $ajax = $this->input->is_ajax_request();
        if ($metodo === 'get') {
                //Leer
                $_POST = $_GET;
                $this->form_validation->set_rules('buscar', 'Buscar', '');
                $this->form_validation->run();

                $data['jscript'] = array ('js/administracion/cupones_enc.js');

                $data['cupo'] = 'active';
                $data['selec_tipo'] = $this->Registro_model->tipo_participantes();  
                $data['main_content'] = 'administracion/cupones/cupones_enc';
                $this->load->view(config_item('template') . 'main', $data);
        } elseif ($metodo === 'post' && $ajax) {
                //Crear
                $id = $this->Registro_model->crear_cupones_encabezado();
                $arr = array('id_cupones_enc' => $id);
                $query = $this->Registro_model->leer_cupones_encabezado($arr);
                $row = $query->row();
                $data['contar'] = 0;
                $data['id'] = $row->id_cupones_enc;
                $data['nombre'] = $row->nombre_cupones_enc;
                $data['tipo'] = $row->nombre_tipo;
                $data['tipo_id'] = $row->id_tipo;

                $data['html'] = $this->load->view('administracion/cupones/cupones_enc_fila', $data, TRUE);
                $this->output
                    ->set_content_type('application/json')
                    ->set_output(json_encode($data));
        } elseif ($metodo === 'put' && $ajax) {
                //actualizar
                $id = $this->input->put('id');
                $respuesta = $this->Registro_model->actualizar_cupones_encabezado($id);
                $data['estatus'] = $respuesta;                    
                $this->output
                    ->set_content_type('application/json')
                    ->set_output(json_encode($data));
        } elseif ($metodo === 'delete' && $ajax) {
                //Eliminar
                $id = $this->input->delete('id');
                $respuesta = $this->Registro_model->eliminar_cupones_encabezado($id);
                $data['estatus'] = $respuesta;                    
                $this->output
                    ->set_content_type('application/json')
                    ->set_output(json_encode($data));
        } else {
                redirect('registro');
        }
    }

    //--------------------------------------------------------------------------      
    
    /**
     * Codigos de un cupon determinado
     * 
     */
    function cupones($id_enc = NULL) {
        $data = array();
        $metodo = $this->resgitro_library->detect_method();
        $ajax = $this->input->is_ajax_request();
        $valid = $this->form_validation->run();
        if ($metodo === 'get') {
            //Leer
            $arr = array('id_cupones_enc' => $id_enc);
            $cupon_enc = $this->Registro_model->leer_cupones_encabezado($arr);  

            $data['contar'] = 0;
            $data['cupo'] = 'active';
            $data['id_enc'] = $id_enc;
            $data['jscript'] = array ('js/administracion/cupones.js');
            $data['info_enc'] = $cupon_enc->row();
            $data['main_content'] = 'administracion/cupones/cupones';
            $this->load->view(config_item('template') . 'main', $data);
        } elseif ($metodo === 'post' && $ajax) {
            //Crear
            $id_enc = $this->input->post('id_cupon_enc');
            $tipo = $this->input->post('tipo');

            if($tipo === 'unitario'){
                $codigos = $this->input->post('codigo');
            }  elseif ($tipo === 'serie') {
                $codigos = $this->input->post('codigos');
            }
            
            if($codigos === ''){
                return;
            }

            $arr = array(
                'precio' => $this->input->post('precio'),
                'repeticiones' => $this->input->post('registros')
                );

            $query = $this->Registro_model->crear_cupones($id_enc, $tipo, $codigos, $arr);
            $data['estatus'] = !!$query;

            $this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($data));
        } elseif ($metodo === 'put' && $ajax) {
            //actualizar

        } elseif ($metodo === 'delete' && $ajax) {
            //eliminar
            $id = $this->input->delete('id');
            // verificar que no exista ya un regrito con este cupon usandolo
            $respuesta = $this->Registro_model->eliminar_cupones($id);
            $data['estatus'] = $respuesta;                    
            $this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($data));
        } else {
                redirect('registro');
        }
    }
    //--------------------------------------------------------------------------  

    /**
     * LLEnado de la tabla para participantes o index
     */
    function cupones_tabla(){
        if($this->input->is_ajax_request()){
            $contar = 0;
            $id_enc = $this->input->post('id_cupon_enc');
            $arr = array('id_cupones_enc' => $id_enc);
            $tabla = $this->Registro_model->leer_cupones($arr); 

            if($tabla->num_rows() > 0) {
                foreach ($tabla->result() as $row) {
                    $contar += 1;
                    $data['contar'] = $contar;
                    $data['id'] = $row->id_cupon;
                    $data['nombre'] = $row->cupon;
                    $data['precio'] = $row->precio_cupon;
                    $data['usados'] = $row->usados;
                    $data['registros'] = $row->registros;
                    $this->load->view('administracion/cupones/cupones_fila', $data);
                }
            }
        } else {
          redirect('registro');
      }
    }
    //--------------------------------------------------------------------------      
    
    /**
     * LLEnado de la tabla para participantes o index
     */
    function cupones_info($id_cupon = FALSE){
        //Cargar la vista de Info para un determinado cupon
        // esto es cargar el paso 2 de regsitro :S
        $this->lang->load('registro/campos');
        $this->load->library('Fabrica');
        
        //obtenermos el tipo 
        // leer todo el cupon
        $arr = array ("id_cupon"=>$id_cupon,"con_enc"=>TRUE,"con_form"=>TRUE);
        $query_cupon = $this->Registro_model->leer_cupones($arr);   
        $cupon = $query_cupon->row();
        $id_form = $cupon->id_form;
        
        $arr = array ("id_form"=>$id_form);
        $campos = $this->Registro_model->campos_form($arr);
        
        //Reglas de Campos obligatorios
        $this->form_validation->set_rules('id_cupon', 'Cupon', '');
        //$this->fabrica->configura_reglas($campos);

        
        if ($this->form_validation->run() == FALSE) {
            //Campos HTML
            $html = '';

            $datos = $this->Registro_model->leer_pre_participantes_info($id_cupon);   
            $val_default = $datos->row_array();
            foreach ($campos as $campo) {
                $valor = isset($val_default[$campo->nombre])? $val_default[$campo->nombre] : NULL;
                $html .= $this->fabrica->creador($campo,$valor);
            }

            //Se entra en modo edicion
            $data['html'] = $html;
            $data['cupon'] = $cupon;
            $data['main_content'] = 'administracion/pre_participantes/pre_participantes';
            $this->load->view(config_item('template') . 'main', $data);
        } else {
            //Generar e guardado
            $info = $this->input->post(NULL, TRUE);
            $this->Registro_model->eliminar_pre_participantes_info($id_cupon);   
            $query = $this->Registro_model->crear_pre_participantes_info($id_cupon, $info);   
            if($query){
                redirect('administracion/cupones/'.$cupon->id_cupones_enc);
            }
        }
    }
    //--------------------------------------------------------------------------      
    
    /**
     * LLEnado de la tabla para participantes o index
     */
    function cupon_aleatorio(){
        $this->load->library('resgitro_library');
        $cupon = $this->resgitro_library->algoritmo_cupones();
        $data['cupon'] = $cupon;                    
        $this->output
            ->set_content_type('application/json')
            ->set_output(json_encode($data));
        
    }
    //--------------------------------------------------------------------------      

    /**
     * Codigos de un cupon determinado
     * 
     */
    function evento() {
        $data['even'] = 'active';
        $data['jscript'] = array ('js/cupon.js');
        $data['main_content'] = 'administracion/evento';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------  
    
    /**
     * Codigos de un cupon determinado
     * 
     */
    function tipo_asistente() {
        $data['jscript'] = array (
                            'js/administracion/tipo_asistente.js'
                        );
        $data['contar'] = 0;           
        $data['tasi'] = 'active';
        $data['tabla'] = $this->Registro_model->tipo_participantes(FALSE,0); 
        $data['main_content'] = 'administracion/tipo_asistente';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------  
    /**
     * LLEnado de la tabla para participantes o index
     */
    function asistente() {
        $data = array();
        if ($this->input->is_ajax_request()) {
            $metodo = $this->resgitro_library->detect_method();
            switch ($metodo) {
                case "get":
                    //Leer
                    echo "No";
                    break;
                case "post":
                    //Crear
                    $nombre = $this->input->post('nombre');
                    $precio = $this->input->post('precio');
                    $id = $this->Registro_model->create_tipo_participantes();
                    $data['id'] = $id;
                    $data['contar'] = 0;
                    $data['nombre'] = $nombre;
                    $data['precio'] = $precio;
                    $data['html'] = $this->load->view('administracion/tipo_asistente/tipo_asistente_fila', $data, TRUE);
                    $this->output
                        ->set_content_type('application/json')
                        ->set_output(json_encode($data));
                    break;
                case "put":
                    //Editar
                    $id = $this->input->put('id');
                    $respuesta = $this->Registro_model->update_tipo_participantes($id);
                    $data['estatus'] = $respuesta;                    
                    $this->output
                        ->set_content_type('application/json')
                        ->set_output(json_encode($data));
                    break;
                case "delete":
                    //Eliminar
                    $id = $this->input->delete('id');
                    $respuesta = $this->Registro_model->delete_tipo_participantes($id);
                    $data['estatus'] = $respuesta;                    
                    $this->output
                        ->set_content_type('application/json')
                        ->set_output(json_encode($data));
                    break;
            }
        } else {
            redirect('registro');
        }
    }    
    //--------------------------------------------------------------------------  
  
    /*
     * Listado de Cupones por grupo
     */
    function cupon_listado($grupo) {
        $cupones_gpo = $this->Registro_model->cupones_gpo_info(FALSE ,$grupo);  
        
        $data['cupo'] = 'active';
        $data['nombre_cupones_gpo'] = $cupones_gpo->row()->nombre_cupones_gpo ;
        $data['tabla'] = $this->Registro_model->cupon_cupones_lista($grupo); 
        $data['main_content'] = 'administracion/ajax/cupon_listado';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------
    
    /**
     * Listado de todos los cupones
     * 
     */
    function presparticipantes() {

        $data['links'] = array ('css/paginator.css'); 
        $data['jscript'] = array ('js/vendor/jquery.ui.touch-punch.min.js',
            'js/vendor/jquery.pagination.js',
            'js/presparticipantes.js');
        $data['pres'] = 'active';
        $data['main_content'] = 'administracion/presparticipantes';
        $this->load->view(config_item('template') . 'main', $data);
    }
    //--------------------------------------------------------------------------  

    /**
     * Zona Publica
     * Resumen de todo
     */
    function editar($id) {
        //consulta para obtener todos los datos
        
        $prosedimiento = $this->_secuencia('paso1', TRUE);
        //id tipo 2 es invitado
        if($prosedimiento['datos_paso1']['id_tipo'] === '2'){
            $tipoNuevo = true;
            $requerido = '';
            $requerido_tipo1 ='required';
        }else {
            $tipoNuevo = false;
            $requerido = 'required';
            $requerido_tipo1 ='';
        }
        $data['tipoNuevo'] = $tipoNuevo;

        $data['datos_paso2'] = $prosedimiento['datos_paso2'];
        $data['datos_paso2a'] = $prosedimiento['datos_paso2a'];
        $data['anfitrion'] = $this->Registro_model->anfitriones($prosedimiento['datos_paso2']['id_anfitrion'])->row()->nombre_anfitrion;
        $data['conferencias'] = $conferencias_query = $this->Registro_model->conferencias();
       
        //Prepara para el envio
        $prosedimiento['paso4'] = TRUE;
        $this->input->set_cookie('info', serialize($prosedimiento), 0);
        $data['main_content'] = 'registro/paso4';
        $this->load->view(config_item('template') . 'main', $data);
    }
    
    
    /**
     * Zona Publica
     * seleccionar conferencias
     */
    function conferencias($edicion = FALSE) {
        $conferencias_query = $this->Registro_model->conferencias();
        $conferencias_arry = $conferencias_query->result_array();
        $salones = $this->resgitro_library->unicos($conferencias_arry, 'nombre_salon');
        $horarios = $this->resgitro_library->unicos($conferencias_arry, 'hora_inicio');

            
        $data['conf'] = 'active';
        $data['capacidad'] =  $this->Registro_model->conferencias_asistencia();
        $data['salones'] = $salones;
        $data['horarios'] = $horarios;
        $data['todo'] = $conferencias_query->result_array();
        $data['main_content'] = 'administracion/conferencias';
        $this->load->view(config_item('template') . 'main', $data);
    }

    //--------------------------------------------------------------------------
    
    function correos_masivos() {
        // Para que form_validator pueda validar el Get
        
        $this->form_validation->set_rules('tipo', 'Tipo', 'required');        
        $this->form_validation->set_rules('correos', 'Correos', '');        
        
        $this->form_validation->run();
        //validar si el formulario es verdadero y enviar a el fromatao a excel
        
        if ($this->form_validation->run() == FALSE){
            $data['jscript'] = array ('js/administracion/correos_masivos.js');

            $data['masi'] = 'active';
            $data['main_content'] = 'administracion/correos_masivos';
            $this->load->view(config_item('template') . 'main', $data);
        } else {
            $correos = $this->input->post('correos');
            if(!$correos){
                $arr = array(
                    'asistencia' => 1,
                    'completo' => TRUE,
                    'correo' => TRUE,
                );
                $datos = $this->Registro_model->participantes_lista($arr); 
            } else {
                $datos = explode("\n", str_replace("\r", '', $correos));
            }
            
            $asunto = 'EXPO MUEBLE INTERNACIONAL INVIERNO 2015 AGRADECE TU VISITA';
            $respuesta = $this->resgitro_library->enviar_masivos($datos, $asunto);
            var_dump($respuesta);
        }
        
    }
    //--------------------------------------------------------------------------  
    
    /**
     * LLEnado de la tabla para participantes o index
     */
    function correos_masivos_enviar(){
        if($this->input->is_ajax_request()){
            $correos = $this->input->post('lineas');
            $datos = explode("\n", str_replace("\r", '', $correos));
            $asunto = 'EXPO MUEBLE INTERNACIONAL INVIERNO 2015 AGRADECE TU VISITA';
            $respuesta = $this->resgitro_library->enviar_masivos($datos, $asunto);
            
            $arr = array("response" => TRUE, "html" => $respuesta);
            $this->output
                ->set_content_type('application/json')
                ->set_output(json_encode($arr));

        } else {
          redirect('registro');
        }
    }
    
    function hola($param) {
        return 'hola'.$param;
        
    }

}

/* End of file administracion.php */

/* Location: ./application/controllers/administracion.php */
